package com.ysy.api;


import com.ysy.dto.IdRequestDTO;
import com.ysy.dto.IdsRequestDTO;
import com.ysy.dto.UserDTO;
import com.ysy.dto.UserReqDTO;
import com.ysy.factory.UserFeignFallbackFactory;

import com.ysy.persimmons.common.response.Response;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


import java.util.List;

@FeignClient(contextId = "UserFeignApi", value = "user-core",fallbackFactory = UserFeignFallbackFactory.class )
public interface UserFeignApi {

    /**
     * 手机号查询用户信息
     */
    @PostMapping(value = "/user/findByPhone")
    Response<UserDTO> findByPhone(@RequestBody UserReqDTO userReqDTO);

    /**
     * 用户注册
     */
    @PostMapping("/user/register")
    Response<Long> registerUserByPhone(@RequestBody UserReqDTO userReqDTO);


    /**
     * 更新密码
     */
    @PostMapping( "/user/password/update")
    Response<?> updatePassword(@RequestBody UserReqDTO userReqDTO);

    /**
     * 根据用户 ID 查询用户信息
     */
    @PostMapping("/user/findById")
    Response<UserDTO> findById( @RequestBody  IdRequestDTO idRequestDTO);

    /**
     * 批量查询用户信息
     */
    @PostMapping("/user/findByIds")
    Response<List<UserDTO>> findByIds(@RequestBody IdsRequestDTO idsRequestDTO);



}
